// components/my-component1/my-component1.js
Component({

  /*  
    组件生命周期
      created	在组件实例刚刚被创建时执行
      attached	在组件实例进入页面节点树时执行
      ready	在组件在视图层布局完成后执行
      moved	在组件实例被移动到节点树另一个位置时执行
      detached 在组件实例被从页面节点树移除时执行
    
    组件所在页面生命周期 pageLifetimes
      show 组件在页面展示
      hide 组件在页面隐藏
  */

  created() {
    console.log('created');
  },
  attached() {
    console.log('attached');
  },
  ready() {
    console.log('ready');
  },
  moved() {
    console.log('moved');
  },
  detached() {
    console.log('detached');
  },

  pageLifetimes: {
    show() {
      console.log('component show', this.properties.person);
    },
    hide() {
      console.log('component hide');
    }
  },

  /**
   * 组件的属性列表
   */
  properties: {
    person: Object
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    setAge() {
      // props是只读的，不能修改
      // this.properties.person.age++;
      // 数据源在哪，更新数据的方法就在哪
      this.triggerEvent('setAge');
    }
  }
})